//
// DotNetNuke - http://www.dotnetnuke.com
// Copyright (c) 2002-2010
// by Perpetual Motion Interactive Systems Inc. ( http://www.perpetualmotion.ca )
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions 
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
// DEALINGS IN THE SOFTWARE.
//

using System;
using DotNetNuke.Services.Localization;
namespace DotNetNuke.Modules.SearchInput
{
	partial class InputSettings : Entities.Modules.ModuleSettingsBase
	{
		protected System.Web.UI.WebControls.LinkButton cmdUpdate;
		protected System.Web.UI.WebControls.LinkButton cmdCancel;
		private void BindSearchResults()
		{
			SearchInputController objSearch = new SearchInputController();
			cboModule.DataSource = objSearch.GetSearchResultModules(PortalId);
			cboModule.DataTextField = "SearchTabName";
			cboModule.DataValueField = "TabID";
			cboModule.DataBind();
			if (cboModule.Items.Count < 2)
			{
				cboModule.Visible = false;
				txtModule.Visible = true;
			}
			else
			{
				cboModule.Visible = true;
				txtModule.Visible = false;
			}
		}
		public override void LoadSettings()
		{
			try
			{
				if ((Page.IsPostBack == false))
				{
					BindSearchResults();
					string SearchTabID = Convert.ToString(ModuleSettings["SearchResultsModule"]);
					string ShowGoImage = Convert.ToString(ModuleSettings["ShowGoImage"]);
					string ShowSearchImage = Convert.ToString(ModuleSettings["ShowSearchImage"]);
					if (cboModule.Items.FindByValue(SearchTabID) != null)
					{
						cboModule.Items.FindByValue(SearchTabID).Selected = true;
					}
					if (cboModule.Items.Count > 0)
					{
						txtModule.Text = cboModule.SelectedItem.Text;
					}
					else
					{
						txtModule.Text = Localization.GetString("NoSearchModule", LocalResourceFile);
					}
					if (ShowGoImage != null)
					{
						chkGo.Checked = Convert.ToBoolean(ShowGoImage);
					}
					if (ShowSearchImage != null)
					{
						chkSearchImage.Checked = Convert.ToBoolean(ShowSearchImage);
					}
				}
			}
			catch (Exception exc)
			{
				Services.Exceptions.Exceptions.ProcessModuleLoadException(this, exc);
			}
		}
		public override void UpdateSettings()
		{
			try
			{
				Entities.Modules.ModuleController objModules = new Entities.Modules.ModuleController();
				if (cboModule.SelectedIndex != -1)
				{
					objModules.UpdateModuleSetting(this.ModuleId, "SearchResultsModule", cboModule.SelectedItem.Value);
				}
				objModules.UpdateModuleSetting(this.ModuleId, "ShowGoImage", chkGo.Checked.ToString());
				objModules.UpdateModuleSetting(this.ModuleId, "ShowSearchImage", chkSearchImage.Checked.ToString());
			}
			catch (Exception exc)
			{
				Services.Exceptions.Exceptions.ProcessModuleLoadException(this, exc);
			}
		}

		private void InitializeComponent()
		{
		}
		protected override void OnInit(EventArgs e)
		{
			base.OnInit(e);

			InitializeComponent();
		}
	}
}
